﻿using System;
using System.Linq;
using Servicios.Data.Model;
using System.Web;

namespace Servicios.Business.Proveedores
{
    public class UsuariosPortalProvider : BusinessEntityProvider<NotasEntities, UsuarioPortal>
    {
        public bool Validate(UsuarioPortal usuario)
        {
            using (var notasEntities = new NotasEntities())
            {
                return ((from u in notasEntities.UsuarioPortalSet
                         where u.IDUsuario.Equals(usuario.IDUsuario) && u.Clave.Equals(usuario.Clave)
                         select u).Count() == 0 ? false : true);
            }
        }


        public bool EsAdmin(UsuarioPortal entity)
        {
            return (GetById(entity.ID).Tipo.GetValueOrDefault() == 1);
        }

        public UsuarioPortal Session
        {
            get { return (UsuarioPortal)HttpContext.Current.Session["usuario_portal"]; }
            set { HttpContext.Current.Session["usuario_portal"] = value; }
        }

        public UsuarioPortal GetSessionEntity(string userName, string pwd)
        {

            var user = GetAll().Where(n => n.IDUsuario.Equals(userName) && n.Clave.Equals(pwd)).FirstOrDefault();
            var usuario = new UsuarioPortal { IDUsuario = userName, Clave = pwd, ID = user.ID };
            return usuario;
        }

    }
}
